export default function login() {
	return new Promise<wx.LoginResponse>((resolve) => {
		wx.login({
			success(res) {
				resolve(res);
			}
		});
	});
}


// import { WX_OPENID, WX_SESSION_KEY } from '../../../../../defines';
// import storage from '../../../../../storage';
// import { post } from '../network/request';

// export function login(url: string) {
// 	return new Promise<wx.LoginResponse>(async (resolve, reject) => {
// 		wx.login({
// 			async success(res) {
// 				try {
// 					console.log('login successed. code:', res.code);
// 					/** 用户允许登录后，回调内容会带上 code（有效期五分钟），
// 					 * 开发者需要将 code 发送到开发者服务器后台，
// 					 * 使用code 换取 session_key api，
// 					 * 将 code 换成 openid 和 session_key
// 					 */
// 					console.log('change session_key, openid, code:');
// 					const data = await post<{
// 						openid: string;
// 						session_key: string;
// 					}>(url, {
// 						code: res.code
// 					});
// 					console.log('openid::::', data);
// 					await Promise.all<boolean>([storage.put(WX_SESSION_KEY, data.session_key), storage.put(WX_OPENID, data.openid)]);
// 					resolve(res);
// 				} catch (e) {
// 					reject(e);
// 				}
// 			},
// 			async fail(res) {
// 				console.error(res);
// 				await Promise.all<void>([storage.remove(WX_SESSION_KEY), storage.remove(WX_OPENID)]);
// 				reject('login in failed.');
// 			}
// 		});
// 	});
// }

// function checkSession() {
// 	return new Promise<wx.LoginResponse>((resolve, reject) => {
// 		wx.checkSession({
// 			success() {
// 				console.log('session');
// 				resolve();
// 			},
// 			fail() {
// 				console.log('session invalidate.');
// 				reject();
// 			}
// 		});
// 	});
// }

// function checkStorage() {
// 	return Promise.all<string>([storage.get(WX_OPENID), storage.get(WX_SESSION_KEY)]);
// }

// export default function(url: string) {
// 	return Promise.all([checkSession(), checkStorage()]).catch(() => {
// 		console.log('auto login');
// 		return login(url);
// 	});
// }
